扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
我们都知道密码策略加固的参数一般包括密码长度、复杂度检测、最大最小使用时间、过期警报时间、最大登录失败次数以及锁定时间等设置。
Oracle默认提供了一个密码策略的sql执行文件utlpwdmg.sql.linux/unix默认路径是$ORACLE_HOME/rdbms/admin/utlpwdmg.sql .windows路径位置可以通过搜索来获得。
首先我们先看一下Oracle默认安装后密码策略设置是怎样的。
图1
图2
通过配置文件可以发现目前密码策略中密码长度设置为不小于4位,同时也设置了密码存活时间为180天,密码警告时间为7天,登录失败次数显示为10次,锁定时间为1分钟。
接下来我们通过测试来看一下此策略设置脚本是否生效。
修改scott恩口令tiger为123成功,说明utlpwdmg.sql脚本文件未被执行。
下面我们重新修改好utlpwdmg.sql配置,然后执行。
图4
图5
执行脚本:
然后我们查看是否密码长度、密码复杂度检测功能是否已经开启。
图7
有图可知:新密码设置为123失败,要求必须是8位以上。
由图可知:新密码设置为12345678失败,要求必须至少一个数字、一个字母,说明密码复杂度检测已经开启。
图9
由图可知,utlpwdmg.sql默认的failed_login_attempts值由10变为5.
综上所知:utlpwdmg.sql 脚本文件生效,部分密码策略已经生效。
(为了测试方面,实验中profile中的密码策略参数只做了部分修改,实际加固中要多所有的密码策略进行整改加固。)
其实针对用户的profile的设置可以直接通过以下命令单独来设置:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 100
PASSWORD_REUSE_MAX 200
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1/1440
PASSWORD_VERIFY_FUNCTION verify_function_11G;
补充:
1. 其中verify_function_11G 是utlpwdmg.sql文件中一段针对用户密码的复杂度检测函数。
2. PASSWORD_LOCK_TIME 1/1440 其中的单位都是天,这里/1440是除以1440(24*60)的意思,综合此处意思为锁定时间为1分钟。
婵犵鈧啿鈧綊鎮樻径鎰畺闁靛ň鏅滄慨婊堟偨椤栨稓鎽冮柟鐑╂櫊瀹曟岸宕堕埡鍌滄殸闂佽鍨伴崢鏍姳閿涘嫭鍠嗘い銈呭姬婵☆偅婢樺Λ妤呮偂濞嗘挸瀚夐柍褜鍓熷顒侊紣娓氣偓閻涙捇鏌涘┑鍛樂缂佹鐭傞獮搴ㄥ焵椤掑嫬瀚夋い鏍ㄧ懁缁诲棝鏌熼褍鐏茬紒杈ㄧ箞閺屽洭鏁愰崟顓犳澖闁荤姳闄嶉崹钘壩i崟顖涘殜闁硅泛顫曢埀顒€锕︾槐鏃堝箣閻愬弬妤呮煛閸偄鐏﹂柛瀣墬缁傛帞鎹勯搹瑙勵啈闂佸搫瀚烽崹閬嶅磻瀹ュ鍎嶉柛鏇ㄥ墯娴犳ê霉閿濆棗鈻曢柍褜鍓氶弻銊ф閻愬鈻曢悗锝傛櫇椤忛亶鏌曢崱顓熷